Don't generate events on destroyed windows.
authorMatthias Clasen <mclasen@redhat.com>
Thu, 7 Jul 2005 19:05:33 +0000 (19:05 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 7 Jul 2005 19:05:33 +0000 (19:05 +0000)
2005-07-07  Matthias Clasen  <mclasen@redhat.com>

* gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
generate events on destroyed windows.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gdk/x11/gdkmain-x11.c

index ea0ef9218e96615baf993942b8c2be07fc7f5370..8d972b7659b393b0436ff1c12790e74647bba7bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
+       generate events on destroyed windows.
+
        Implement Drag-and-Drop to the file list.  (#145121, Sven Neumann)
        
        * gtk/gtkfilechooserdefault.c (file_list_drag_data_received_cb) 
index ea0ef9218e96615baf993942b8c2be07fc7f5370..8d972b7659b393b0436ff1c12790e74647bba7bd 100644 (file)
@@ -1,5 +1,8 @@
 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
+       generate events on destroyed windows.
+
        Implement Drag-and-Drop to the file list.  (#145121, Sven Neumann)
        
        * gtk/gtkfilechooserdefault.c (file_list_drag_data_received_cb) 
index ea0ef9218e96615baf993942b8c2be07fc7f5370..8d972b7659b393b0436ff1c12790e74647bba7bd 100644 (file)
@@ -1,5 +1,8 @@
 2005-07-07  Matthias Clasen  <mclasen@redhat.com>
 
+       * gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
+       generate events on destroyed windows.
+
        Implement Drag-and-Drop to the file list.  (#145121, Sven Neumann)
        
        * gtk/gtkfilechooserdefault.c (file_list_drag_data_received_cb) 
index 985b2b5dcee559547e86ba505d4328a13e9b79d8..9b8ee95545a415b11319d96fb7bb9168d6a91e7b 100644 (file)
@@ -143,16 +143,19 @@ generate_grab_broken_event (GdkWindow *window,
                            gboolean   implicit,
                            GdkWindow *grab_window)
 {
-  GdkEvent event;
+  if (!GDK_WINDOW_DESTROYED (window))
+    {
+      GdkEvent event;
   
-  event.type = GDK_GRAB_BROKEN;
-  event.grab_broken.window = window;
-  event.grab_broken.send_event = 0;
-  event.grab_broken.keyboard = keyboard;
-  event.grab_broken.implicit = implicit;
-  event.grab_broken.grab_window = grab_window;
-
-  gdk_event_put (&event);
+      event.type = GDK_GRAB_BROKEN;
+      event.grab_broken.window = window;
+      event.grab_broken.send_event = 0;
+      event.grab_broken.keyboard = keyboard;
+      event.grab_broken.implicit = implicit;
+      event.grab_broken.grab_window = grab_window;
+      
+      gdk_event_put (&event);
+    }
 }
 
 /*